const express = require('express');
const path = require('path')

const app = express();

//解决body请求体中间件
app.use(express.urlencoded());
app.use(express.json());

//解决跨域问题
app.use((req,res,next)=>{
    res.set('Access-Control-Allow-Origin','http://127.0.0.1:5500');
    res.set('Access-Control-Allow-Headers','token')

    next()
})

//搭建创建axios实例的接口
app.get('/myAxiosInfo',(req,res)=>{
    const {
        userId
    } = req.query;

//如果查询失败
    if(userId !== '001'){
        return res.send({
            code : 10001,
            msg : '查询失败',
            data : null
        })
    }

    res.send({
        code : 10000,
        msg : '查询成功',
        data : {
            name : '伏地魔',
            age : 18,
            hobby : '伏地'
        }
    })



})


//取消请求端口

app.get('/allAxios',(req,res)=>{
    setTimeout(()=>{
        const {
            userId
        } = req.query;
    
    //如果查询失败
        if(userId !== '001'){
            return res.send({
                code : 10001,
                msg : '查询失败',
                data : null
            })
        }
    
        res.send({
            code : 10000,
            msg : '查询成功',
            data : {
                name : '老王',
                age : 18,
                hobby : '抽烟，喝酒，打麻将'
            }
        })
    },3000)
})


//JSONP端口
app.get('/jsonAll',(req,res)=>{
    const {
        userId,callback
    } = req.query;
    
    const data ={
        code : 10000,
            msg : '查询成功',
            data : {
                name : '小黑',
                age : 3,
                hobby : '吃'
            }
    }
    
    res.send(`${callback}(${JSON.stringify(data)})`)


})


//cors 跨域端口
app.get('/user',(req,res)=>{

    const token = req.headers.token;
    console.log(token);

    if(!token){
        return res.send({
            code : 10002,
            msg : '没有权限',
            data : null
        })
    }


    const {
        userId
    } = req.query;

//如果查询失败
    if(userId !== '001'){
        return res.send({
            code : 10001,
            msg : '查询失败',
            data : null
        })
    }

    res.send({
        code : 10000,
        msg : '查询成功',
        data : {
            brand : '小米',
            price : 3999,
        }
    })
})


app.listen(3000,()=>{
    console.log('服务器启动成功');
})